﻿// Срезы многомерных массивов
begin
  var m := MatrByRow(||1,2,3,4|,|5,6,7,8|,|9,10,11,12||);
  Println(m[:,:]);           // [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
  Println(m[::1,::1]);       // [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
  Println(m[1:3,1:4]);       // [[6,7,8],[10,11,12]]
  Println(m[::2,::3]);       // [[1,4],[9,12]]
  Println(m[::-2,::-1]);     // [[12,11,10,9],[4,3,2,1]] 
  Println(m[^2::-1,^2::-1]); // [[7,6,5],[3,2,1]] 
  Println(m[:^1,:^1]);       // [[1,2,3],[5,6,7]] 
  Println(m[1,:]);           // Одномерный массив [5,6,7,8] 
  Println(m[^1,:]);          // Одномерный массив [9,10,11,12] 
  Println(m[:,^1]);          // Одномерный массив [4,8,12] 
end.